package com.sc.nft.admin.request;

import com.sc.nft.enums.PledgeTaskActivationCondition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
public class AddPledgeTaskRequest {


    @ApiModelProperty("任务封面")
    @NotBlank(message = "任务封面不能为空")
    private String pledgeTaskCoverImage;

    @ApiModelProperty("质押任务名称")
    @NotBlank(message = "质押任务名称不能为空")
    private String pledgeTaskName;

    @ApiModelProperty("质押任务开始时间")
    @NotNull(message = "质押任务开始时间不能为空")
    private String pledgeTaskBeginTime;

    @ApiModelProperty("质押任务结束时间")
    @NotNull(message = "质押任务结束时间不能为空")
    private String pledgeTaskEndTime;

    @ApiModelProperty("标签 用逗号分隔 列:标签1,标签2,标签3")
    @NotBlank(message = "标签不能为空")
    private String label;

    @ApiModelProperty("是否可以重复质押  false:否 true:是")
    @NotNull(message = "是否可以重复质押不能为空")
    private Boolean isRepeatedly;


    @ApiModelProperty("秘境详情图片")
    @NotBlank(message = "秘境详情图片不能为空")
    private String secretDetailsUrl;

    @ApiModelProperty("参加人数")
    private Integer joinCount;

    @ApiModelProperty("激活条件  HOLD_SIMULTANEOUSLY:同时持有 HOLD_AT_WILL:持有任意")
    @NotNull(message = "激活条件不能为空")
    private PledgeTaskActivationCondition activationCondition;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("激活NFT列表  数量最多9个")
    @NotNull(message = "激活NFT列表不能为空")
    private List<AddPledgeTaskVigorousCollectionRequest> vigorousCollectionList;


    @ApiModelProperty("质押NFT列表  数量最多9个")
    @NotNull(message = "质押NFT列表不能为空")
    private List<AddPledgeTaskCollectionRequest> pledgeTaskCollectionList;
}
